PostgreSQL 对象管理 序列

-- 假设序列名为my_sequence,位于public模式下
DO $
DECLARE
    current_val bigint;
    max_val bigint;
BEGIN
    SELECT last_value INTO current_val FROM public.my_sequence;
    SELECT max_value INTO max_val FROM pg_sequences WHERE sequencename = 'my_sequence';

    IF current_val >= max_val - 1 THEN
        RAISE NOTICE 'Sequence my_sequence is nearing its maximum value: %.', current_val;
    END IF;
END $;